package com.transaction.demo.base.vo.req;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.io.Serializable;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 描述：菜单管理
 * 作者：马庆智
 * 日期：2023/03/28 17:07:14
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel("菜单管理请求updateVo")
public class SysMenuUpdateReqVo implements Serializable {

	@ApiModelProperty(value = "菜单ID", required = true)
	@NotNull(message = "menuId菜单ID不能为空")
	private Integer menuId;

	@ApiModelProperty(value = "父菜单ID", required = true)
	@NotNull(message = "parentId父菜单ID不能为空")
	private Integer parentId;

	@ApiModelProperty(value = "菜单类型(1：菜单,2：目录,3：外链,4：按钮)", required = true)
	@NotBlank(message = "menuType菜单类型(1：菜单,2：目录,3：外链,4：按钮)不能为空")
	private String menuType;

	@ApiModelProperty(value = "菜单名称", required = true)
	@NotBlank(message = "menuName菜单名称不能为空")
	private String menuName;

	@ApiModelProperty(value = "路由路径(浏览器地址栏路径)")
	private String menuPath;

	@ApiModelProperty(value = "组件路径(vue页面完整路径，省略.vue后缀)")
	private String menuComponent;

	@ApiModelProperty("菜单图标")
	private String menuIcon;

	@ApiModelProperty("后端接口请求路径")
	private String interfacePath;

	@ApiModelProperty(value = "排序")
	private Integer sort;

	@ApiModelProperty(value = "状态(1:正常，0:停用)", required = true)
	@NotBlank(message = "status状态(1:正常，0:停用)不能为空")
	private String status;

	@ApiModelProperty("跳转路径")
	private String redirect;

	@ApiModelProperty("备注")
	private String remark;

}